Проект в проекте
Для чего нужен?
Этот экшен позволяет подключить уже готовый проект к текущему, над которым вы еще работаете.
Чаще всего используется для повторяющихся частей. Например:
1. Для работы с конкретным сайтом у вас есть несколько отдельных шаблонов:
- Парсер товаров;
- Парсер пользователей;
- Рассыльщик сообщений.
2. При этом нужно быть авторизованным.
3. В каждом из шаблонов есть одинаковый участок с авторизацией.
4. Выносим этот участок в отдельный подшаблон и подключаем его в нужных местах.
5. Теперь мы можем вносить правки только в один подшаблон, а не сразу в нескольких проектах.
Также этот экшен подойдет для:
- Вынесения универсальных функций в подшаблон для использования в других проектах:
- генерация текста,
- проверка на уникальность,
- загрузка изображений на хостинги.
- Разбивка одного большого шаблона на несколько маленьких по функциям.
- Использования шаблона как вложенного. Все ограничено лишь вашей фантазией.
Как добавить в проект?
Через контекстное меню: Добавить действие → Прое кт → Проект в проекте.
Как работать с экшеном?
Базовые настройки.
Путь к вложенному проекту.
Тут нужно указать абсолютный путь к подшаблону. Можно использовать переменные, например, {-Project.Directory-}
(путь к текущей папке проекта).
Передавать контекст проекта (project.Context).
Данная опция используется при работе с C# кодом. project.Context
позволяет сохранять С# объекты и переносить их между разными частями шаблона.
Передача переменных.
Сопоставление переменных.
В данном окне происходит передача данных из внешнего проекта во внутренний.
Передать данные можно только с помощью переменных.
Сопоставлять переменные с одинаковыми именами.
При включении данной опции все переменные, имена которых идентичны в обоих проектах, будут автоматически сопоставлены, без необходимости ручной настройки.
Например, в обоих проектах есть переменная variable
. Вы включили опцию Сопоставлять переменные, но вручную ассоциировали эту переменную с другой — second_var
. Так что теперь переменные variable
из обоих проектов будут сопоставлены с second_var
, а не друг с другом.
Не передавать значения обратно при неудачном выполнении.
По умолчанию все изменения переменных во внутреннем проекте отражаются также и на переменных из внешнего проекта. При включении данной настройки изменения переменных будут игнорироваться внешним проектом в случае ошибочного завершения внутреннего.
Пример использования.
В качестве примера отправим себе оповещение через Email.
Создаем шаблон, который будет автоматически определять настройки для соединения с сервером на основе переданного Email. После этого нам нужно будет только передать со внешнего проекта текст сообщения, данные отправителя и получателя.
Ошибка загрузки проекта.
Если во время создания проекта появилась такая ошибка, то скорее всего проблема в том, что вы пытаетесь запустить закрытый шаблон на неактивном оборудовании.
Для исправления вам нужно зайти в Личный кабинет → вкладка Оборудование и активировать оборудование, с которого вы сейчас работаете.